bc207042d08a660cc595e01cecdb179376dfb2c5,org.springframework.context/src/main/java/org/springframework/scheduling/support/CronSequenceGenerator.java,CronSequenceGenerator,next,#Date#,85

Before Change


		findNext(this.seconds, second, 60, calendar, Calendar.SECOND);

		int minute = calendar.get(Calendar.MINUTE);
		findNext(this.minutes, minute, 60, calendar, Calendar.MINUTE, Calendar.SECOND);

		int hour = calendar.get(Calendar.HOUR_OF_DAY);
		findNext(this.hours, hour, 24, calendar, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND);

		int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
		int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
		findNextDay(calendar, this.daysOfMonth, dayOfMonth, daysOfWeek, dayOfWeek, 366);

		int month = calendar.get(Calendar.MONTH);
		findNext(this.months, month, 12, calendar, Calendar.MONTH, Calendar.DAY_OF_MONTH, Calendar.HOUR_OF_DAY,
				Calendar.MINUTE, Calendar.SECOND);

		return calendar.getTime();

After Change


		int second = calendar.get(Calendar.SECOND);
		int updateSecond = findNext(this.seconds, second, 60, calendar, Calendar.SECOND, Collections.<Integer> emptyList());
		if (second == updateSecond) {
			resets.add(Calendar.SECOND);
		}

		int minute = calendar.get(Calendar.MINUTE);
		int updateMinute = findNext(this.minutes, minute, 60, calendar, Calendar.MINUTE, resets);
		if (minute == updateMinute) {
			resets.add(Calendar.MINUTE);
		}

		int hour = calendar.get(Calendar.HOUR_OF_DAY);
		int updateHour = findNext(this.hours, hour, 24, calendar, Calendar.HOUR_OF_DAY, resets);
		if (hour == updateHour) {
			resets.add(Calendar.HOUR_OF_DAY);
		}

		int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
		int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
		int updateDayOfMonth = findNextDay(calendar, this.daysOfMonth, dayOfMonth, daysOfWeek, dayOfWeek, 366, resets);
		if (dayOfMonth == updateDayOfMonth) {
			resets.add(Calendar.DAY_OF_MONTH);
		}

		int month = calendar.get(Calendar.MONTH);